'use strict'

define(['jquery', 'bootstrap', 'select2', 'shiftform', 'validate', 'validate.en'], function ($) {
    return {
        init: function () {
        	this.initReject();
            this.initSearch();
            this.initEdit();
            this.initActivate();
            this. initVerified();
            this.initPrincipal();
            this.initDistrict();
            this.initEditPrincipal();
            this.initFrost();
        },

	    initSearch: function () {
	        $(document).on("shown.bs.modal", "#search", function (e) {
	        	$(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
	        });
	    },
        initReject: function () {

            $(document).on("shown.bs.modal", "#reject", function (e) {

                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                    beforeSubmit: function (el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });
        },
        initActivation: function () {
            $(document).on("shown.bs.modal", "#activation", function (e) {
                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                    beforeSubmit: function (el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });
        },
        initFrost: function () {

            $(document).on("shown.bs.modal", "#frost", function (e) {

                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                    beforeSubmit: function (el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });
        },
        initEdit: function () {

            $(document).on("shown.bs.modal", "#edit", function (e) {

                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                    beforeSubmit: function (el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });
        },
        initPrincipal: function () {

            $(document).on("shown.bs.modal", "#principal", function (e) {

                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                    beforeSubmit: function (el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });
        },
        initDistrict: function () {

            $(document).on("shown.bs.modal", "#district", function (e) {

                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                    beforeSubmit: function (el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });
        },
         initEditPrincipal: function () {

            $(document).on("shown.bs.modal", "#editPrincipal", function (e) {

                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                    beforeSubmit: function (el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });
        },
        initActivate: function () {

            $(document).on("shown.bs.modal", "#activate", function (e) {

                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                    beforeSubmit: function (el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });
        },
        initVerified: function () {

            $(document).on("shown.bs.modal", "#verified", function (e) {

                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                    beforeSubmit: function (el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });
        }
    }
})

